package org.catspaw.cherubim.security.rbac.persistence;

import java.util.List;

import org.catspaw.cherubim.security.rbac.Resource;
import org.catspaw.cherubim.security.rbac.User;

public interface RbacRepository {

	User findUserByUsername(String username);

	List<String> findRoleCodesByUsername(String username);

	List<String> findResourceCodesByUsername(String username);

	List<String> findRoleCodesByResourceCode(String resourceCode);

	List<String> findOperationCodesByResourceCode(String resourceCode);

	List<String> findResourceCodesByRoleCode(String roleCode);

	String findResourceCodesByResourceString(String resourceString);

	List<? extends Resource> findAllResources();
}
